#ifndef _DEVICEMONITOR_H_
#define _DEVICEMONITOR_H_

#include <memory>

#include <KF5/KScreen/kscreen/output.h>
#include <KF5/KScreen/kscreen/config.h>
#include <KF5/KScreen/kscreen/getconfigoperation.h>
#include <KF5/KScreen/kscreen/configmonitor.h>

#include "screeninfo.h"

class DeviceMonitor : public QObject
{
public:
    DeviceMonitor();
    ~DeviceMonitor() override;
    void getConfigPtr();

private:
    void initDeviceMonitor();
    void initScreenInfo();
    void connectSignals();

private:
    KScreen::GetConfigOperation *op = nullptr;
    KScreen::ConfigPtr m_config = nullptr;
    std::unique_ptr<ScreenList> screenInfo = nullptr;
};

#endif